package com.mucd.chat.mapper;

import com.ruoyi.common.core.domain.FriendRequest;

import java.util.List;

public interface FriendRequestMapper {

    /**
     * 插入一条好友请求记录。
     *
     * @param friendRequest 好友请求实体
     * @return 插入成功的记录数
     */
    int insert(FriendRequest friendRequest);

    /**
     * 根据ID查询好友请求记录。
     *
     * @param id 好友请求ID
     * @return 好友请求实体
     */
    FriendRequest findById(Integer id);

    /**
     * 更新好友请求记录的状态。
     *
     * @return 更新成功的记录数
     */
    int updateStatus(FriendRequest friendRequest);

    /**
     * 删除一条好友请求记录。
     *
     * @param id 好友请求ID
     * @return 删除成功的记录数
     */
    int delete(int id);

    /**
     * 查询指定用户收到的所有待处理好友请求。
     *
     * @return 待处理的好友请求列表
     */
    List<FriendRequest> selectByStatusRequestsByReceiverId(FriendRequest friendRequest);

    /**
     * 确认或拒绝好友请求。
     *
     * @param dto 好友请求实体
     * @return 状态
     */
    int confirmOrRejectFriend(List<FriendRequest> list);
    FriendRequest selectById(Integer reqId);

    /**
     * 查询指定用户发出的所有待处理好友请求。
     *
     * @return 待处理的好友请求列表
     */
    List<FriendRequest> selectBySendUserIdAndReceiveUserId(FriendRequest friendRequest);
}
